package ar.com.mooral.activities;

import java.util.Hashtable;

import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
import ar.com.mooral.crohn.application.CrohnContext;
import ar.com.mooral.data.Depositions;
import ar.com.mooral.data.Result;
import ar.com.mooral.pojo.DepositionPojo;
import ar.com.mooral.pojo.GeneralStatusPojo;


public class DeposicionesLiquidas extends CrohnActivity {
	
	protected Depositions depositions;
	//protected static String DEPOSICION_FORMA = "LIQUIDA";
	protected static String DEPOSICIONES_LIQUIDAS_SANGRE_NADA 		= "0";
	protected static String DEPOSICIONES_LIQUIDAS_SANGRE_POCA 		= "1";
	protected static String DEPOSICIONES_LIQUIDAS_SANGRE_MUCHA 		= "2";
	protected static String DEPOSICIONES_LIQUIDAS_URGENCIA_BAJA 	= "0";
	protected static String DEPOSICIONES_LIQUIDAS_URGENCIA_MEDIA	= "1";
	protected static String DEPOSICIONES_LIQUIDAS_URGENCIA_ALTA 	= "2";
//	protected String urgencia = "";
//	protected String sangre = "";
	
	private DepositionPojo pojo;
	

	protected void onStart() {
		// TODO Auto-generated method stub
		super.onStart();

		// Initialize default values
		((Button) findViewById(R.id.btnDeposicionesLiquidasFecha)).setText(CrohnContext.getHumanDate(pojo.getDate()));
        
		
		updateBloodImages();
		updateUrgencyImages();
        
	}

	
	
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.deposiciones_liquidas);
        

        if (!CrohnContext.isPojoLoaded()) {
			DepositionPojo newPojo = new DepositionPojo();
			newPojo.setDate(CrohnContext.getDateTimeNow());
			newPojo.setUrgency(DEPOSICIONES_LIQUIDAS_URGENCIA_BAJA);
			newPojo.setBlood(DEPOSICIONES_LIQUIDAS_SANGRE_NADA);
			CrohnContext.setPojo(newPojo);
		}
		pojo = (DepositionPojo) CrohnContext.getPojo();
		pojo.setType(CrohnContext.DEPOSITION_TYPE_ID_LIQUID);
        
        depositions = new Depositions(this);
        
        
        
        // RETORNO
        Button btnDeposicionesLiquidasRetorno = (Button) findViewById(R.id.btnDeposicionesLiquidasRetorno);
        btnDeposicionesLiquidasRetorno.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	finish();
		    }
		});	        

        
        // REGISTRAR
        Button btnDeposicionesLiquidasRegistrar = (Button) findViewById(R.id.btnDeposicionesLiquidasRegistrar);
        btnDeposicionesLiquidasRegistrar.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {

		    	//TODO ver que pasa si no selecciona sangre y urgencia

		    	if (pojo.getBlood() == null || pojo.getBlood().equals("")) {
		    		Result r = new Result(Result.INFO, "Debe seleccionar la cantidad de sangre");
		    		showMessage(r);
		    	} else if (pojo.getUrgency().equals("")) {
			    		Result r = new Result(Result.INFO, "Debe seleccionar la urgencia");
			    		showMessage(r);
		    	} else {
		    	
		    		Result r = depositions.save(pojo);
			        if (r.hasError()) {
			        	showMessage(r);
			        } else {
				    	finish();
			        }
		    	}
		    }
		});	        
        
        
        // SELECCION FECHA Y HORA
        Button btnDeposicionesLiquidasFecha = (Button) findViewById(R.id.btnDeposicionesLiquidasFecha);
        btnDeposicionesLiquidasFecha.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
				Intent intent = new Intent();
				intent.setComponent(new ComponentName(SeleccionFechaHora.class.getPackage().getName(), SeleccionFechaHora.class.getName()));
				startActivity(intent);
		    }
		});		
        
        // INGRESO NOTA
        Button btnDeposicionesLiquidasIngresoNota = (Button) findViewById(R.id.btnDeposicionesLiquidasIngresoNota);
        btnDeposicionesLiquidasIngresoNota.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
				Intent intent = new Intent();
				intent.setComponent(new ComponentName(IngresoNota.class.getPackage().getName(), IngresoNota.class.getName()));
				startActivity(intent);
		    }
		});	        
    

        // SELECCION SANGRE NADA
        TextView btnDeposicionesLiquidasSangreNada = (TextView) findViewById(R.id.btnDeposicionesLiquidasSangreNada);
        btnDeposicionesLiquidasSangreNada.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	pojo.setBlood(DEPOSICIONES_LIQUIDAS_SANGRE_NADA);
		    	updateBloodImages();
		    }
		});	        
    
        
        // SELECCION SANGRE POCA
        TextView btnDeposicionesLiquidasSangrePoca = (TextView) findViewById(R.id.btnDeposicionesLiquidasSangrePoca);
        btnDeposicionesLiquidasSangrePoca.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	pojo.setBlood(DEPOSICIONES_LIQUIDAS_SANGRE_POCA);
		    	updateBloodImages();
		    }
		});	        
    
        
        // SELECCION SANGRE MUCHA
        TextView btnDeposicionesLiquidasSangreMucha = (TextView) findViewById(R.id.btnDeposicionesLiquidasSangreMucha);
        btnDeposicionesLiquidasSangreMucha.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	pojo.setBlood(DEPOSICIONES_LIQUIDAS_SANGRE_MUCHA);
		    	updateBloodImages();
		    }
		});	        
    
        
        // SELECCION URGENCIA BAJA
        TextView btnDeposicionesLiquidasUrgenciaBaja = (TextView) findViewById(R.id.btnDeposicionesLiquidasUrgenciaBaja);
        btnDeposicionesLiquidasUrgenciaBaja.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	pojo.setUrgency(DEPOSICIONES_LIQUIDAS_URGENCIA_BAJA);
		    	updateUrgencyImages();
		    }
		});	        
    
        // SELECCION URGENCIA MEDIA
        TextView btnDeposicionesLiquidasUrgenciaMedia = (TextView) findViewById(R.id.btnDeposicionesLiquidasUrgenciaMedia);
        btnDeposicionesLiquidasUrgenciaMedia.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	pojo.setUrgency(DEPOSICIONES_LIQUIDAS_URGENCIA_MEDIA);
		    	updateUrgencyImages();
		    }
		});	        
    
        // SELECCION URGENCIA ALTA
        TextView btnDeposicionesLiquidasUrgenciaAlta = (TextView) findViewById(R.id.btnDeposicionesLiquidasUrgenciaAlta);
        btnDeposicionesLiquidasUrgenciaAlta.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	pojo.setUrgency(DEPOSICIONES_LIQUIDAS_URGENCIA_ALTA);
		    	updateUrgencyImages();
		    }
		});	        
    
    }
    
	protected void updateUrgencyImages(){
		if(pojo.getUrgency().equals(DEPOSICIONES_LIQUIDAS_URGENCIA_BAJA))
			((Button) findViewById(R.id.btnDeposicionesLiquidasUrgencia)).setBackgroundResource(R.drawable.deposiciones_liquidas_botones_checked_1);
		else if(pojo.getUrgency().equals(DEPOSICIONES_LIQUIDAS_URGENCIA_MEDIA))
			((Button) findViewById(R.id.btnDeposicionesLiquidasUrgencia)).setBackgroundResource(R.drawable.deposiciones_liquidas_botones_checked_2);
		else if(pojo.getUrgency().equals(DEPOSICIONES_LIQUIDAS_URGENCIA_ALTA))
			((Button) findViewById(R.id.btnDeposicionesLiquidasUrgencia)).setBackgroundResource(R.drawable.deposiciones_liquidas_botones_checked_3);
    }
    
	protected void updateBloodImages(){
		if(pojo.getBlood().equals(DEPOSICIONES_LIQUIDAS_SANGRE_NADA))
			((Button) findViewById(R.id.btnDeposicionesLiquidasSangre)).setBackgroundResource(R.drawable.deposiciones_liquidas_botones_checked_1);
		else if(pojo.getBlood().equals(DEPOSICIONES_LIQUIDAS_SANGRE_POCA))
			((Button) findViewById(R.id.btnDeposicionesLiquidasSangre)).setBackgroundResource(R.drawable.deposiciones_liquidas_botones_checked_2);
		else if(pojo.getBlood().equals(DEPOSICIONES_LIQUIDAS_SANGRE_MUCHA))
			((Button) findViewById(R.id.btnDeposicionesLiquidasSangre)).setBackgroundResource(R.drawable.deposiciones_liquidas_botones_checked_3);
    }
    
}
